Tips:便利コマンド(1)tree, man, less
Unix操作の一歩として今後頻繁に利用するであろうコマンドを紹介する.
◆1. treeコマンド
◎treeコマンドとは
その名の通り,ディレクトリ構造を簡単に表示してくれるコマンド.
※ただし標準コマンドではないのでインストールが必要. → 後述
code:treeの例:▼はEnter
$ mkdir test test2 test3▼
$ mkdir test/test4 test2/test5 test3/test6▼
$ tree▼
.
├── test
│ └── test4
├── test2
│ └── test5
└── test3
└── test6
$
ディレクトリの構造が一目瞭然なので,理解しやすいだろう.
◎ディレクトリだけ見るには:"-d"オプション
code:treeの-dオプション
$ touch file1 file2 file3 test2/file4 test3/file5▼
$ tree▼
.
├── file1 ◀◀ ファイルも全部表示される
├── file2
├── file3
├── test
│ └── test4
├── test2
│ ├── file4
│ └── test5
└── test3
├── file5
└── test6
$ tree -d▼
.
├── test ◀◀ ディレクトリのみ表示
│ └── test4
├── test2
│ └── test5
└── test3
└── test6
$
◎treeコマンドのインストール
treeは非標準コマンドなのでインストールが必要.
●Windowsの場合:sudo apt install tree -y
●MacOSの場合:brew install tree
これでインストールできる.
インストールしたら,いろんなディレクトリにcdして使ってみよう.
◎注意
treeにはたくさんのオプションがある.ディレクトリだけを表示したりすべてのファイルを表示するなど,さまざまに活用できるので,man tree でマニュアルを読んでいろいろ試してみよう. → 次にそのman コマンドを紹介しよう.
◆2. manコマンド
◎man コマンド
Unixには,コマンドの使い方が書いた ( マニュアル ) があり, そのマニュアルを呼び出して画面に提示するコマンドが, man コマンドである.
※manは男ではなく"manual" から
man コマンドで呼び出されるマニュアルを "man page" ( マンページ ) と呼ぶ.
Unix標準コマンドはもちろん,後からインストールするコマンドやアプリケーションのほとんどには,man pageが用意されている.
※man pageは一定のフォーマットで書かれたテキストファイル.インストール時には特定のディレクトリに格納され,manコマンドはそこに目的のman pageを見つけに行く
たとえば,"ls"コマンドのman pageを見るには,次のようにする.
$ man ls▼
これでマニュアルが端末に表示される. マニュアルは文字のみで,イラストや画面などはない ( テキスト端末だから当然だが ) .
https://gyazo.com/80702f4d94695c497096cef971b31ce5https://gyazo.com/0ad1b170c8e6817d9c10855c0de0c3a9
※右側:前節の「日本語化」をしていなければ,英語で表示される.
☆実習: 実際にls コマンドのman pageを表示させてみよう.
man pageはかなり詳しく,多くの情報が表示されるのがわかるだろう.
しかしオプションなどは整理して書かれているので,よく見れば自分に必要な情報を見つけ出せるだろう.
☆実習: ls コマンドの"-R"オプションの項目をman pageで検索してみよう.
※ページ内検索したい場合は"/"を押すと検索できる.何でもやってみよう
例:abcを探したければ,"/abc▼"と打つ(▼はEnter).
◎man の man
man コマンド自身もUnix標準コマンドなので,もちろんman pageを持っている.
$ man man▼
これによればman にもオプションがいくつかある.
変わった使い方としては,"-k"オプションがある (詳細はman pageで) .
これをうまく使うと,コマンド名を忘れたときに,キーワードでコマンドを検索したりすることが可能である.
(例:$ man -k copy▼としてみよう )
◎Web上のman page
ターミナルではなくWeb上でもman pageを参照できるサイトがある.
以下にまとめたので必要に応じて利用するとよい.
次はmanの中から呼び出されるページャを紹介する.
◆3. lessコマンド
man コマンドは長い文章が流れていかないように "less" というテキストリーダ (ページャ) を中から呼び出している(manと同様,lessは標準コマンド).
lessは上から下に読むだけでなく,画面操作ができるのが特徴.
スペースキーやPageDownで次ページ
矢印キーや "j" , " k"キー (vi的な操作) で上下スクロール
"/' でページ内検索
"q" で終了
などの操作が可能.
lessは独立コマンドなので,直接テキストファイルを読むのにも便利である.
catで表示させるだけでは流れていってしまうような長いテキストには必須.
使い方(1):ファイルを指定する場合
$ less <ファイル名>▼
使い方(2):他のコマンドの出力を食わせる場合
$ ls -alR | less▼
※終了は"q"を押す
★豆知識:なぜ"less"?
長いテキストの中身を見るツールを「ページャ」と言うが,なぜ"less"という名前になったのだろうか.
Unixの標準ページャはもともと"more"だった( もっと見る,という意味のコマンド ).
もちろん今でもmoreは存在する.が,moreは「前のページにもどれない」「検索できない」「最後まで行った瞬間終わってしまう」など,シンプルすぎてあまり便利ではない.
それで「前のページにも戻れる」「検索もできる」「最後まで行っても終わらない」という機能を実現したページャが作られた.
元が"more"なので,反対の"less"(もっと少なく)と名付けられた.まともに考えると意味不明だが,一種の言葉遊びだろう.
※Unixにはこういった言葉遊びを含んだコマンドやツール名は結構ある.(GNUなど)
以上.
2023/6/22